package com.chushouya.product.service.common;

import com.chushouya.product.dao.entity.ProductEntity;

import java.io.File;
import java.util.List;

/**
 * 产品图片生成服务
 */
public interface ProductImageGenerateService {

    /**
     * 根据分类和品牌查询产品列表
     *
     * @param categoryId 分类ID
     * @param brandId    品牌ID
     * @return 产品列表
     */
    List<ProductEntity> getProductListByCategoryAndBrand(Long categoryId, Long brandId);

    /**
     * 生成产品列表图片
     *
     * @param products 产品列表
     * @param title    图片标题
     * @param date     日期字符串
     * @return 生成的图片文件
     */
    File generateProductListImage(List<ProductEntity> products, String title, String date);

    /**
     * 生成产品列表图片并上传到OSS
     *
     * @param products 产品列表
     * @param title    图片标题
     * @param date     日期字符串
     * @param categoryId 分类ID
     * @param brandId 品牌ID
     * @return OSS图片URL
     */
    String generateAndUploadProductListImage(List<ProductEntity> products, String title, String date, Long categoryId, Long brandId);

    /**
     * 批量生成指定分类下所有品牌的产品列表图片
     *
     * @param categoryId 分类ID
     * @param title      图片标题
     * @return 生成结果信息
     */
    String generateAllBrandImagesForCategory(Long categoryId, String title);
}
